<?
//统计二位数组中，第二维中，符合单A项条件的，B项的总数,
//0{[a]=>1,[b]=>2,[c]=>3，[d]=>状态1}
//1{[a]=>1,[b]=>2,[c]=>3，[d]=>状态1}
//2{[a]=>4,[b]=>6,[c]=>8，[d]=>状态2}

//统计出状态1的b的总值为4
//$array二维数组，key，需要统计的键值（项）
//p['array']被统计的数组
//p['condition_key']判断的项目
//p['condition_value']判断的项目
//p['condition_range']判断的项目,暂时只做等于。
//p['target']要统计的项目

//输出数组，符合的条件的条数，和其总值
//条数  总值
//条数  总值
//条数  总值
//条数  总值

function sum_with_key_by_value_in_2d_array($p)
{




foreach( $p['array'] as $k=>$v)
{



    if($p['condition_range']==">")
    {
        if($v[$p['condition_key']]>$p['condition_value'])
        {

            $value=$value+$v[$p['target']];
            $number=$number+1;

        }

    }

    elseif($p['condition_range']==">=")
    {
        if($v[$p['condition_key']]>=$p['condition_value'])
        {

            $value=$value+$v[$p['target']];
            $number=$number+1;

        }

    }

    elseif($p['condition_range']=="<")
    {
        if($v[$p['condition_key']]<$p['condition_value'])
        {

            $value=$value+$v[$p['target']];
            $number=$number+1;

        }

    }


    elseif($p['condition_range']=="<=")
    {
        if($v[$p['condition_key']]<=$p['condition_value'])
        {

            $value=$value+$v[$p['target']];
            $number=$number+1;

        }

    }


    elseif($p['condition_range']=="like")
    {
//        echo "条件的键值的值".$v[$p['condition_key']];
//        echo "条件的值".$p['condition_value'];
//        echo  "对比结果".strpos($v[$p['condition_key']],$p['condition_value']);
//        echo "<br/>";

        if(!strpos($v[$p['condition_key']],$p['condition_value']))
        {

            $value=$value+$v[$p['target']];
            $number=$number+1;

        }

    }


    else
    {
        if($v[$p['condition_key']]==$p['condition_value'])
        {

            $value=$value+$v[$p['target']];
            $number=$number+1;

        }

    }








}


    if(!$result['sum']=$value)
    {
        $result['sum']=0;
    }


    if(!$result['num']=$number)
    {
        $result['num']=0;
    }

return $result;
}

 ?>